import re

str = 'HI \n _123!'

# 除换行符之外的任意符号
print(re.findall('.',str))
print(re.findall('..',str))
print(re.findall('...',str))
print(re.findall('....',str))

print('匹配字母、数字、下划线')
# 匹配字母、数字、下划线
print(re.findall('\w',str))
print(re.findall('\w\w',str))


# 匹配数字
print(re.findall('\d',str))

# 空格和换行符
print(re.findall('\s',str))

# 除了匹配字母、数字、下划线
print(re.findall('\W',str))


str2= 'X1Y222Y3333YDDDY'

# 贪婪匹配
print(re.findall('X.*Y',str2))

# 惰性匹配
print(re.findall('X.*?Y',str2))
